<!DOCTYPE html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<body>

<div contenteditable=true>
<select><option>option 1</option></select>
</div>

<script>
function pointerActionSequencePromise(seq) {
  return new Promise((resolve, reject) => {
    chrome.gpuBenchmarking.pointerActionSequence(seq, resolve);
  });
}

promise_test(async () => {
  const select = document.querySelector('select');
  const bounds = select.getBoundingClientRect();
  const x = bounds.x + bounds.width / 2;
  const y = bounds.y + bounds.height / 2;
  const RIGHT_BUTTON = 2;
  await pointerActionSequencePromise([{
    source: 'mouse',
    actions: [
      {name: 'pointerMove', x: x, y: y},
      {name: 'pointerDown', x: x, y: y, button: RIGHT_BUTTON},
      {name: 'pointerUp', buton: RIGHT_BUTTON}
    ]
  }]);
  eventSender.keyDown('X');
  assert_equals(internals.shadowRoot(select).textContent,
      document.querySelector('option').textContent);
}, 'Text label in a menulist SELECT should not be editable');
</script>
</body>

